home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ASM-P.ZIP / PMFEJT.ASM < prev    next >
Assembly Source File  |  1990-04-06  |  4KB  |  227 lines

  1. START    SEGMENT
  2.     ASSUME CS:START,DS:START
  3.     MOV    BX,80H
  4.     MOV    CH,0
  5.     MOV    CL,[BX]
  6.     DEC    CX
  7.     MOV    SI,OFFSET KODOK+100H
  8.     CALL    BET
  9.     JZ    KILEP
  10.     MOV    SI,OFFSET FILEN+100H
  11.     CALL    BET
  12.     JZ    KILEP
  13.     MOV    SI,OFFSET FILECO+100H
  14.     CALL    BET
  15.     JMP    FOLYT
  16. KILEP:    INT    20H
  17. FOLYT:    MOV    SI,OFFSET KODOK+100H
  18.     MOV    BX,OFFSET KODTB+100H
  19. CIKL1:    MOV    AL,[SI]
  20.     OR    AL,AL
  21.     JZ    FOLYT5
  22.     OR    AL,20H
  23. FOLYT5:    CMP    AL,[BX]
  24.     JZ    FOLYTC
  25.     JMP    KODER
  26. FOLYTC:    CMP    AL,0
  27.     JZ    FOLYT4
  28.     INC    BX
  29.     INC    SI
  30.     JMP    CIKL1
  31. FOLYT4:    MOV    AL,0
  32.     MOV    AH,3DH
  33.     MOV    DX,OFFSET FILECO+100H
  34.     INT    21H
  35.     JNC    FOLYTD
  36.     JMP    FILER
  37. FOLYTD:    PUSH    AX
  38.     MOV    BX,AX
  39.     MOV    AH,3FH
  40.     MOV    CX,100H
  41.     MOV    DX,OFFSET IPUFF+100H
  42.     INT    21H
  43.     POP    BX
  44.     JNC    FOLYTE
  45.     JMP    FILER
  46. FOLYTE:    MOV    AH,3EH
  47.     INT    21H
  48.     JNC    FOLYTF
  49.     JMP    FILER
  50. FOLYTF:    MOV    BX,OFFSET IPUFF+100H
  51.     MOV    SI,OFFSET PMNAM+100H
  52. CIKL2:    MOV    AL,[SI]
  53.     OR    AL,AL
  54.     JZ    FOLYT7
  55.     CMP    AL,[BX]
  56.     JZ    PMOK
  57.     JMP    PMER
  58. PMOK:    INC    BX
  59.     INC    SI
  60.     JMP    CIKL2
  61. FOLYT7:    MOV    DI,OFFSET FILMO+100H
  62.     MOV    DL,2
  63. CIKL4:    MOV    SI,OFFSET FILEN+100H
  64.     MOV    CX,13
  65.     REP    MOVSB
  66.     DEC    DL
  67.     JNZ    CIKL4    
  68. FOLYTA:    MOV    BX,7
  69.     MOV    CX,26
  70.     MOV    AL,03FH
  71.     MOV    AH,9
  72.     INT    10H
  73.     MOV    BX,OFFSET IPUFF+157H
  74.     MOV    CX,26
  75.     MOV    SI,OFFSET FILMO+100H
  76.     MOV    DI,OFFSET OPUFF+100H
  77.     MOV    BYTE PTR [IRANY+100H],1
  78. CIKL6:    PUSH    CX
  79.     MOV    CL,0
  80. CIKL5:    MOV    AL,[SI]
  81.     XOR    AL,CL
  82.     ROR    AL,CL
  83.     CMP    AL,[BX]
  84.     JZ    FOLYTB
  85. CIKL9:    ADD    CL,BYTE PTR [IRANY+100H]
  86.     JNZ    CIKL5
  87.     PUSH    BX
  88.     PUSH    CX
  89.     PUSH    AX
  90.     MOV    AX,0E07H
  91.     MOV    BX,0
  92.     INT    10H
  93.     MOV    AX,0E3FH
  94.     MOV    BX,0
  95.     INT    10H
  96.     POP    AX
  97.     POP    CX
  98.     POP    BX
  99.     JMP    TASZT
  100. FOLYTB:    MOV    [DI],CL
  101.     CMP    CL,128
  102.     JC    FOLYTG
  103.     JMP    CIKL9
  104. FOLYTG:    CMP    CL,20H
  105.     JC    CIKL9
  106. TASZT1:    PUSH    CX
  107.     PUSH    BX
  108.     PUSH    AX
  109.     MOV    BX,0
  110.     MOV    AL,CL
  111.     MOV    AH,0EH
  112.     MOV    CX,1
  113.     INT    10H
  114.     POP    AX
  115.     POP    BX
  116.     POP    CX
  117. TASZT:    MOV    AH,0
  118.     INT    16H
  119.     CMP    AH,4BH
  120.     JZ    BAL
  121.     CMP    AH,4DH
  122.     JZ    JOBB
  123.     CMP    AH,48H
  124.     JZ    FEL
  125.     CMP    AH,50H
  126.     JZ    LE1
  127.     CMP    AH,1CH
  128.     JZ    ESC1
  129.     JMP    TASZT
  130. LE1:    CALL    BALRA
  131.     MOV    BYTE PTR [IRANY+100H],0FFH
  132.     JMP    CIKL9
  133. BALRA:    PUSH    BX
  134.     PUSH    CX
  135.     PUSH    AX
  136.     MOV    AX,0E08H
  137.     MOV    BX,0
  138.     INT    10H
  139.     POP    AX
  140.     POP    CX
  141.     POP    BX
  142.     RET
  143. FEL:    CALL    BALRA
  144.     MOV    BYTE PTR [IRANY+100H],01H
  145.     JMP    CIKL9
  146. BAL:    CALL    BALRA
  147.     CMP    BX,OFFSET IPUFF+157H
  148.     JNC    BAL1
  149.     JMP    CIKL9
  150. BAL1:    CALL    BALRA
  151.     DEC    BX
  152.     DEC    SI
  153.     DEC    DI
  154.     POP    CX
  155.     INC    CX
  156.     JMP    CIKL6
  157. JOBB:    CMP    BX,OFFSET IPUFF+157H+25
  158.     JC    JOBB1
  159.     CALL    BALRA
  160.     JMP    CIKL9
  161. JOBB1:    INC    BX
  162.     INC    SI
  163.     INC    DI
  164.     POP    CX
  165.     DEC    CX
  166.     JMP    CIKL6
  167. ESC1:    POP    CX    
  168.     MOV    AX,0E0DH
  169.     MOV    BX,0
  170.     INT    10H
  171.     MOV    AX,0E0AH
  172.     MOV    BX,0
  173.     INT    10H
  174.     MOV    BYTE PTR [OPUFF+100H+28],0
  175. KILEP1:    MOV    SI,OFFSET OPUFF+100H
  176.     CALL    KIIR
  177.     JMP    KILEP
  178. IRANY:    DB    1
  179. PMER:    MOV    SI,OFFSET PERR+100H
  180.     CALL    KIIR
  181.     JMP    KILEP
  182. KODER:    MOV    SI,OFFSET KDERR+100H
  183.     CALL    KIIR
  184.     JMP    KILEP
  185. FILER:    MOV    SI,OFFSET FERR+100H
  186.     CALL    KIIR
  187.     JMP    KILEP
  188. KIIR:    MOV    AL,[SI]
  189.     CMP    AL,0
  190.     JNZ    FOLYT6
  191.     RET
  192. FOLYT6:    MOV    AH,0EH
  193.     MOV    BX,0
  194.     INT    10H
  195.     INC    SI
  196.     JMP    KIIR
  197. BET:    MOV    AL,[BX+2]
  198.     CMP    AL,20H
  199.     JNZ    FOLYT2
  200.     MOV    BYTE PTR [SI],0
  201.     INC    BX
  202.     INC    SI
  203.     LOOP    FOLYT3
  204.     XOR    AL,AL
  205. FOLYT3:    RET
  206. FOLYT2:    MOV    [SI],AL
  207.     INC    SI
  208.     INC    BX
  209.     LOOP    BET
  210.     MOV    BYTE PTR [SI],0
  211.     XOR    AL,AL
  212.     RET
  213. PMNAM:    DB    'File encrypted by PathMinder v2.01 (c) Copyright 1984,1985 Westlake Data Corporation',0
  214. FERR:    DB    'TOLTESI HIBA A LEMEZEN',0DH,0AH,0
  215. PERR:    DB    'HIBAS PM-VERZIO',0DH,0AH,0
  216. KRERR:    DB    'KERESESI HIBA',0DH,0AH,0
  217. KDERR:    DB    'KODOLASI HIBA',0DH,0AH,0
  218. FILEN:    DB    64 DUP (0)
  219. FILECO:    DB    64 DUP (0)    
  220. KODOK:    DB    64 DUP (0)
  221. KODTB:    DB    'feri&bozo',0
  222. IPUFF:    DB    256 DUP (0)
  223. FILMO:    DB    30 DUP (0)
  224. OPUFF:    DB    32*64 DUP (0)
  225. START    ENDS
  226.     END
  227.